package lx;

import java.util.*;

/*
需求：
定义一个Map集合，键用表示省份名称province，值表示市city，但是市会有多个。
添加完毕后，遍历结果格式如下：
江苏省 = 南京市，扬州市，苏州市，无锡市，常州市
湖北省 = 武汉市，孝感市，十堰市，宜昌市，鄂州市
河北省 = 石家庄市，唐山市，邢台市，保定市，张家口市
 */
public class demo4 {
    public static void main(String[] args) {
        HashMap<String, ArrayList<String>> hm = new HashMap<>();
        //创建单列集合(值的)
        ArrayList<String> list1 = new ArrayList<>();
        Collections.addAll(list1, "南京市，扬州市，苏州市，无锡市，常州市");

        ArrayList<String> list2 = new ArrayList<>();
        Collections.addAll(list2, "武汉市，孝感市，十堰市，宜昌市，鄂州市");

        ArrayList<String> list3 = new ArrayList<>();
        Collections.addAll(list3, "石家庄市，唐山市，邢台市，保定市，张家口市");
        hm.put("江苏省", list1);
        hm.put("湖北省", list2);
        hm.put("河北省", list3);

        //把所有的键值对对象存入一个Set集合里面
        Set<Map.Entry<String, ArrayList<String>>> entries = hm.entrySet();
        //循环遍历每一个键值对对象,得到每一个键值对对象
        for (Map.Entry<String, ArrayList<String>> entry : entries) {
            //entry依次表示每一个键值对对象
            //通过每一个键值对象获取每一个键和值
            String key = entry.getKey();
            //因为值是一个单列集合,我们通过增强for去得到每一个键
            ArrayList<String> value = entry.getValue();
            for (String s : value) {
                System.out.println(key + "= " + s);
            }

        }
    }
}
